데이터 시각화는 데이터를 그래프 형태로 표현하여 추세와 특징을 쉽게 파악할 수 있게 한다.
본 예제는 matplotlib을 이용한 시각화 기본 흐름(데이터 준비 → 그래프 함수 호출 → show())을 제시한다.
import matplotlib.pyplot as plt
본 예제는 matplotlib의 pyplot을 이용하여 선 그래프를 그리는 절차를 담는다. x축과 y축에 대응하는 데이터 목록을 준비한 뒤 plot()으로 선을 그리며, title/label을 통해 그래프의 의미를 명확히 한다.
year = [2018, 2019, 2020, 2021, 2022]
gdp = [30000, 31000, 32000, 33000, 34000]
plt.plot(year, gdp)
plt.title("연도별 1인당 GDP")
plt.xlabel("Year")
plt.ylabel("GDP")
plt.show()
본 예제는 matplotlib의 pyplot을 이용하여 선 그래프를 그리는 절차를 담는다. x축과 y축에 대응하는 데이터 목록을 준비한 뒤 plot()으로 선을 그리며, title/label을 통해 그래프의 의미를 명확히 한다.
seoul = [12, 13, 14, 15, 16]
jeju = [15, 16, 17, 18, 19]
plt.plot(year, seoul, label="Seoul")
plt.plot(year, jeju, label="Jeju")
plt.legend()
plt.show()
본 예제는 범주형 데이터를 막대 그래프로 표현한다. bar()에 항목(범주)과 값 목록을 전달하여 비교를 시각화하며, 필요에 따라 legend(), xticks() 등을 통해 표기를 정돈한다.
season = ["봄", "여름", "가을", "겨울"]
rain = [200, 600, 300, 100]
plt.bar(season, rain)
plt.title("계절별 강수량")
plt.show()
본 예제는 산점도(scatter plot)로 두 변수의 관계를 시각화한다. 각 점은 (x, y) 한 쌍을 의미하며, 분포 형태를 통해 상관 경향을 관찰할 수 있다.
height = [160, 165, 170, 175, 180]
weight = [50, 55, 65, 70, 80]
plt.scatter(height, weight)
plt.xlabel("키")
plt.ylabel("몸무게")
plt.show()
본 예제는 range() 함수로 반복 횟수를 정한 뒤, for 문으로 동일한 작업을 일정 횟수만큼 수행하는 방법을 보인다. 변수 i는 반복 과정에서 0 또는 지정된 시작값부터 증가하며, 각 반복에서 코드 블록이 한 번씩 실행된다.
import random
data = [random.normalvariate(0,1) for _ in range(1000)]
plt.hist(data, bins=15, alpha=0.7)
plt.show()
본 예제는 imread()로 이미지 파일을 읽어 배열 형태로 얻고, imshow()로 화면에 출력하는 절차를 보여 준다. axis('off')를 적용하면 축이 숨겨져 이미지가 더 깔끔하게 표시된다.
import matplotlib.pyplot as plt
img = plt.imread("cat1.jpg")
plt.imshow(img)
plt.axis("off")
plt.show()
본 예제는 range() 함수로 반복 횟수를 정한 뒤, for 문으로 동일한 작업을 일정 횟수만큼 수행하는 방법을 보인다. 변수 i는 반복 과정에서 0 또는 지정된 시작값부터 증가하며, 각 반복에서 코드 블록이 한 번씩 실행된다.
imgs = ["cat1.jpg", "dog1.jpg"]
for i in range(2):
plt.subplot(1,2,i+1)
plt.imshow(plt.imread(imgs[i]))
plt.axis("off")
plt.show()
본 예제는 while 문으로 조건 기반 반복을 수행하며, 특정 조건을 만족할 때 break 문으로 반복을 즉시 종료하는 흐름을 보여 준다. 입력값이나 상태 변수를 점검하여 반복을 계속할지 여부를 결정한다.
course = {"회화":0, "문법":0, "독해":0}
while True:
s = input("희망 강좌 입력(종료): ")
if s == "종료":
break
for c in s.split(","):
c = c.strip()
if c in course:
course[c] += 1
plt.bar(course.keys(), course.values())
plt.title("인기 강좌 조사 결과")
plt.show()